Trade-Off theory¶

In [1]:
import fundamentalanalysis as fa
import pandas as pd
import numpy as np
In [2]:
tickers = ["AAPL","META","GOOG","V","MSFT","AMZN","ZTS", "SWKS", "GPC", "LRCX", "CHD", "WBA", "XYL", "AIZ", "PGR", "HSY", "AMT", "NWSA", "EW", "MU", "CCL", "AEP", "AES", "TROW", "FE","VRTX", "WAT", "IP", "PEAK", "BKNG", "CDW", "CCI", "FANG", "LUV", "HUM", "IRM", "GWW", "HWM", "LYB", "PSX", "MRO", "DISCA", "ZBH"]
api_key = "2ccc6ec16a686c78ee04299bd35bc09a"

key_metrics_annually = []

for ticker in tickers:
    key_metrics = fa.key_metrics(ticker, api_key)
    key_metrics_annually.append(key_metrics)

# Combine the results into a single dataframe
df = pd.concat(key_metrics_annually, keys=tickers)
In [3]:
dta_ptb_pairs = []

for ticker in tickers:
    key_metrics = fa.key_metrics(ticker, api_key, period="annual")
    y = key_metrics.iloc[25, 1]  # Debt to Assets
    x = key_metrics.iloc[17, 1]  # Price to Book
    dta_ptb_pairs.append([x, y])

df2 = pd.DataFrame(dta_ptb_pairs, index=tickers, columns=["Debt to Assets", "Price to Book"])
In [7]:
df2
Out[7]:
Debt to Assets Price to Book
AAPL 38.892865 0.820257
META 7.581941 0.247658
GOOG 7.677408 0.299590
V 12.628169 0.546552
MSFT 14.398979 0.574605
AMZN 12.204246 0.671275
ZTS 25.479890 0.673094
SWKS 5.112153 0.383391
GPC 5.760835 0.755904
LRCX 10.022539 0.634886
CHD 7.763903 0.595673
WBA 1.842356 0.706932
XYL 6.716973 0.610198
AIZ 1.679089 0.838117
PGR 3.290930 0.743694
HSY 14.506168 0.735193
AMT 25.990547 0.870226
NWSA 1.852954 0.454654
EW 13.836515 0.313633
MU 1.886254 0.253462
CCL 1.629252 0.772327
AEP 1.985069 0.741296
AES 5.784060 0.861451
TROW 4.938502 0.180185
FE 2.612859 0.809055
VRTX 5.603061 0.248092
WAT 62.420338 0.881240
IP 2.014315 0.640217
PEAK 2.985200 0.537359
BKNG 15.938685 0.738674
CDW 40.189925 0.946535
CCI 10.919797 0.788473
FANG 1.576021 0.421565
LUV 2.435306 0.713271
HUM 3.712265 0.636854
IRM 17.673376 0.940687
GWW 12.452156 0.672330
HWM 3.901625 0.656718
LYB 2.597809 0.676882
PSX 1.663593 0.610803
MRO 1.209296 0.371190
DISCA 1.452165 0.647960
ZBH 2.093134 0.460002
In [4]:
import plotly.express as px
In [5]:
fig = px.scatter(df2,x="Price to Book", y ="Debt to Assets")
fig.show()